package cn.agrael.struts.plugin.ejb3;

import java.lang.annotation.Annotation;

/**
 * 资源注入注解包装器。
 * 
 * @author <a href="mailto:agraellee@gmail.com">Agrael·Lee</a>
 * 
 */
public abstract class InjectAnnotationWrapper {

	/** 被包装的注解 */
	private Annotation injectAnnotation;

	/** 被包装注解对应的 jndi名 */
	private volatile String jndiPath;

	/**
	 * 构造一个新的 InjectAnnotationWrapper。
	 * 
	 * @param inject 被包装的注解。
	 */
	InjectAnnotationWrapper(Annotation inject) {
		this.injectAnnotation = inject;
	}

	/**
	 * 得到被包装的注解。
	 * 
	 * @return 被包装的注解。
	 */
	public Annotation getInjectAnnotation() {
		return this.injectAnnotation == null ? null : this.injectAnnotation;
	}

	/**
	 * 得到 被包装注解对应的 jndi名。
	 * 
	 * @return 被包装注解对应的 jndi名。
	 */
	public String getJndiPath() {
		return this.jndiPath;
	}

	/**
	 * 设置 被包装注解对应的 jndi名。
	 * 
	 * @param jndiPath 被包装注解对应的 jndi名。
	 */
	void setJndiPath(String jndiPath) {
		this.jndiPath = jndiPath;
	}

}
